---
id: 656702f8b4cbd8cbf0a433c6
title: Крок 11
challengeType: 20
dashedName: step-11
---

# --description--

В межах функції створіть цикл `while`, який порівнює елемент в `left_part` з елементом в `right_part` та додає менший елемент до головного списку `array`.

Створіть дві умови для циклу: одна перевіряє, чи `left_array_index` менший за довжину `left_part`, а друга перевіряє, чи `right_array_index` менший за довжину `right_part`.

# --hints--

Цикл `while` повинен мати такі умови: `left_array_index < len(left_part) and right_array_index < len(right_part)`. Не забудьте використати ключове слово `pass` у тілі циклу.

```js
({
  test: () => {
    const transformedCode = code.replace(/\r/g, "");
    const merge_sort = __helpers.python.getDef("\n" + transformedCode, "merge_sort");
    const { function_body } = merge_sort;

    assert.match(function_body, /while\s+left_array_index\s*<\s*len\(\s*left_part\s*\)\s+and\s+right_array_index\s*<\s*len\(\s*right_part\s*\):/);
  }
})
```

Використайте ключове слово `pass` у тілі циклу.

```js
({
  test: () => {
    const transformedCode = code.replace(/\r/g, "");
    const merge_sort = __helpers.python.getDef("\n" + transformedCode, "merge_sort");
    const { function_body } = merge_sort;

    assert.match(function_body, /while\s+left_array_index\s*<\s*len\(\s*left_part\s*\)\s+and\s+right_array_index\s*<\s*len\(\s*right_part\s*\):\s*pass/);
  }
})
```

# --seed--

## --seed-contents--

```py
def merge_sort(array):

    middle_point = len(array) // 2
    left_part = array[:middle_point]
    right_part = array[middle_point:]

    merge_sort(left_part)
    merge_sort(right_part)

    left_array_index = 0
    right_array_index = 0
    sorted_index = 0

--fcc-editable-region--

--fcc-editable-region--
```
